{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Deep Neural Network Application - Digit Recognition"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "Created on Tue Feb  5 23:32:07 2019\n",
    "\n",
    "@author: pavankalyan\n",
    "\"\"\"\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.datasets import load_digits\n",
    "digits=load_digits()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pylab as pl\n",
    "pl.gray()\n",
    "pl.matshow(digits.images[0])\n",
    "pl.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 0.,  0.,  5., 13.,  9.,  1.,  0.,  0.],\n",
       "       [ 0.,  0., 13., 15., 10., 15.,  5.,  0.],\n",
       "       [ 0.,  3., 15.,  2.,  0., 11.,  8.,  0.],\n",
       "       [ 0.,  4., 12.,  0.,  0.,  8.,  8.,  0.],\n",
       "       [ 0.,  5.,  8.,  0.,  0.,  9.,  8.,  0.],\n",
       "       [ 0.,  4., 11.,  0.,  1., 12.,  7.,  0.],\n",
       "       [ 0.,  2., 14.,  5., 10., 12.,  0.,  0.],\n",
       "       [ 0.,  0.,  6., 13., 10.,  0.,  0.,  0.]])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "digits.images[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "digits.target[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 15 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "images_and_labels=list(zip(digits.images,digits.target))\n",
    "plt.figure(figsize=(5,5))\n",
    "for index,(image,label) in enumerate(images_and_labels[:15]):\n",
    "    plt.subplot(3,5,index+1)\n",
    "    plt.axis('off')\n",
    "    plt.imshow(image,cmap=plt.cm.gray_r,interpolation='nearest')\n",
    "    plt.title('%i' % label)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1797\n",
      "(1797, 64)\n"
     ]
    }
   ],
   "source": [
    "#Define variables\n",
    "n_samples=len(digits.images)\n",
    "print(n_samples)\n",
    "\n",
    "x=digits.images.reshape((n_samples,-1))\n",
    "print(x.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1797,)\n"
     ]
    }
   ],
   "source": [
    "y=digits.target\n",
    "print(y.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, random_state = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Feature Scaling\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "sc = StandardScaler()\n",
    "X_train = sc.fit_transform(X_train)\n",
    "X_test = sc.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train=X_train.T\n",
    "X_test=X_test.T\n",
    "y_train=y_train.reshape(y_train.shape[0],1)\n",
    "y_test=y_test.reshape(y_test.shape[0],1)\n",
    "y_train=y_train.T\n",
    "y_test=y_test.T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "Y_train_=np.zeros((10,y_train.shape[1]))\n",
    "for i in range(y_train.shape[1]):\n",
    "    Y_train_[y_train[0,i],i]=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "Y_test_=np.zeros((10,y_test.shape[1]))\n",
    "for i in range(y_test.shape[1]):\n",
    "    Y_test_[y_test[0,i],i]=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_x=X_train.shape[0]\n",
    "n_h=10\n",
    "n_y=Y_train_.shape[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# initialize parameters for deep neural networks\n",
    "def initialize_parameters_deep(layer_dims):\n",
    "    np.random.seed(3)\n",
    "    parameters = {}\n",
    "    L = len(layer_dims) \n",
    "    for l in range(1, L):\n",
    "        parameters['W' + str(l)] = np.random.randn(layer_dims[l],layer_dims[l-1])*0.01\n",
    "        parameters['b' + str(l)] = np.zeros((layer_dims[l],1))\n",
    "        \n",
    "        assert(parameters['W' + str(l)].shape == (layer_dims[l], layer_dims[l-1]))\n",
    "        assert(parameters['b' + str(l)].shape == (layer_dims[l], 1))\n",
    "    return parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "def linear_forward(A, W, b):\n",
    "    Z = np.dot(W,A)+b\n",
    "    assert(Z.shape == (W.shape[0], A.shape[1]))\n",
    "    cache = (A, W, b)\n",
    "    \n",
    "    return Z, cache"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "# use ful activation functions and their derivatives\n",
    "def sigmoid_(Z):\n",
    "    return 1/(1+np.exp(-Z))\n",
    "\n",
    "def relu_(Z):\n",
    "    return Z*(Z>0)\n",
    "\n",
    "def drelu_(Z):\n",
    "    return 1. *(Z>0)\n",
    "\n",
    "def dsigmoid_(Z):\n",
    "    return sigmoid_(Z)*(1-sigmoid_(Z))\n",
    "\n",
    "def sigmoid(Z):\n",
    "    return sigmoid_(Z),Z\n",
    "\n",
    "def relu(Z):\n",
    "    return relu_(Z),Z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def linear_activation_forward(A_prev,W,b,activation):\n",
    "    if activation == \"sigmoid\":\n",
    "        Z, linear_cache = linear_forward(A_prev,W,b)\n",
    "        A, activation_cache = sigmoid(Z)\n",
    "        \n",
    "    elif activation == \"relu\":\n",
    "        Z, linear_cache = linear_forward(A_prev,W,b)\n",
    "        A, activation_cache = relu(Z)\n",
    "        \n",
    "    assert (A.shape == (W.shape[0], A_prev.shape[1]))\n",
    "    cache = (linear_cache, activation_cache)\n",
    "    \n",
    "    return A, cache"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "# implementation of forward propogation for L layer neural network\n",
    "def L_model_forward(X, parameters):\n",
    "    caches = []\n",
    "    A = X\n",
    "    L = len(parameters) // 2   \n",
    "    for l in range(1, L):\n",
    "        A_prev = A \n",
    "        A, cache = linear_activation_forward(A_prev,parameters['W'+str(l)],parameters['b'+str(l)],\"relu\")\n",
    "        caches.append(cache)\n",
    "    AL, cache = linear_activation_forward(A,parameters['W'+str(L)],parameters['b'+str(L)],\"sigmoid\")\n",
    "    caches.append(cache)\n",
    "    #assert(AL.shape == (1,X.shape[1]))\n",
    "    return AL, caches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "# cost function\n",
    "def compute_cost(AL, Y):\n",
    "    m=Y.shape[1]\n",
    "    cost = -(1/m)*np.sum((Y*np.log(AL)+(1-Y)*np.log(1-AL)))\n",
    "    cost=np.squeeze(cost)\n",
    "    assert(cost.shape == ())\n",
    "    return cost"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def linear_backward(dZ, cache):\n",
    "    A_prev, W, b = cache\n",
    "    m = A_prev.shape[1]\n",
    "    dW = (1/m)*np.dot(dZ,A_prev.T)\n",
    "    db = (1/m)*np.sum(dZ,axis=1,keepdims=True)\n",
    "    dA_prev = np.dot(W.T,dZ)\n",
    "    \n",
    "    assert (dA_prev.shape == A_prev.shape)\n",
    "    assert (dW.shape == W.shape)\n",
    "    assert (db.shape == b.shape)\n",
    "    \n",
    "    return dA_prev, dW, db"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "def relu_backward(dA,activation_cache):\n",
    "    return dA* drelu_(activation_cache)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sigmoid_backward(dA,activation_cache):\n",
    "    return dA* dsigmoid_(activation_cache)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "def linear_activation_backward(dA, cache, activation):\n",
    "    linear_cache, activation_cache = cache\n",
    "    if activation == \"relu\":\n",
    "        dZ = relu_backward(dA,activation_cache)\n",
    "        dA_prev, dW, db = linear_backward(dZ,linear_cache)\n",
    "    \n",
    "    elif activation == \"sigmoid\":\n",
    "        dZ = sigmoid_backward(dA,activation_cache)\n",
    "        dA_prev, dW, db = linear_backward(dZ,linear_cache)\n",
    "    return dA_prev,dW,db"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "# back propogation for L layers\n",
    "def L_model_backward(AL, Y, caches):\n",
    "    grads = {}\n",
    "    L = len(caches)\n",
    "    m = AL.shape[1]\n",
    "    #Y = Y.reshape(AL.shape)\n",
    "    \n",
    "    dAL = - (np.divide(Y, AL) - np.divide(1 - Y, 1 - AL))\n",
    "    \n",
    "    current_cache = caches[L-1]\n",
    "    grads[\"dA\" + str(L-1)], grads[\"dW\" + str(L)], grads[\"db\" + str(L)] = linear_activation_backward(dAL,current_cache,\"sigmoid\")\n",
    "    \n",
    "    for l in reversed(range(L-1)):\n",
    "        current_cache = caches[l]\n",
    "        dA_prev_temp, dW_temp, db_temp = linear_activation_backward(grads[\"dA\"+str(l+1)],current_cache,\"relu\")\n",
    "        grads[\"dA\" + str(l)] = dA_prev_temp\n",
    "        grads[\"dW\" + str(l + 1)] = dW_temp\n",
    "        grads[\"db\" + str(l + 1)] = db_temp\n",
    "    return grads"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "#update parameters\n",
    "def update_parameters(parameters, grads, learning_rate):\n",
    "    L = len(parameters) // 2 \n",
    "    for l in range(L):\n",
    "        parameters[\"W\" + str(l+1)] = parameters[\"W\" + str(l+1)]-(learning_rate)*grads[\"dW\"+str(l+1)] \n",
    "        parameters[\"b\" + str(l+1)] = parameters[\"b\" + str(l+1)]-(learning_rate)*grads[\"db\"+str(l+1)]\n",
    "    return parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "# N layer neural network\n",
    "layers_dims=[n_x,60,10,10]\n",
    "\n",
    "def L_layer_model(X, Y, layers_dims, learning_rate = 0.005, num_iterations = 3000, print_cost=False):\n",
    "    np.random.seed(1)\n",
    "    costs = [] \n",
    "    \n",
    "    parameters = initialize_parameters_deep(layers_dims)\n",
    "    \n",
    "    for i in range(0, num_iterations):\n",
    "        AL, caches = L_model_forward(X, parameters)\n",
    "        cost = compute_cost(AL, Y)\n",
    "        grads = L_model_backward(AL, Y, caches)\n",
    "        parameters = update_parameters(parameters, grads, learning_rate)\n",
    "        if print_cost and i % 1000 == 0:\n",
    "            print (\"Cost after iteration %i: %f\" %(i, cost))\n",
    "        if print_cost and i % 1000 == 0:\n",
    "            costs.append(cost)\n",
    "    # plot the cost\n",
    "    plt.plot(np.squeeze(costs))\n",
    "    plt.ylabel('cost')\n",
    "    plt.xlabel('iterations (per tens)')\n",
    "    plt.title(\"Learning rate =\" + str(learning_rate))\n",
    "    plt.show()\n",
    "    \n",
    "    return parameters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cost after iteration 0: 6.931433\n",
      "Cost after iteration 1000: 3.774829\n",
      "Cost after iteration 2000: 3.262610\n",
      "Cost after iteration 3000: 3.249175\n",
      "Cost after iteration 4000: 3.248149\n",
      "Cost after iteration 5000: 3.245551\n",
      "Cost after iteration 6000: 3.234484\n",
      "Cost after iteration 7000: 3.108940\n",
      "Cost after iteration 8000: 2.714129\n",
      "Cost after iteration 9000: 2.217460\n",
      "Cost after iteration 10000: 1.924373\n",
      "Cost after iteration 11000: 1.561357\n",
      "Cost after iteration 12000: 1.231272\n",
      "Cost after iteration 13000: 0.951040\n",
      "Cost after iteration 14000: 0.764662\n",
      "Cost after iteration 15000: 0.618042\n",
      "Cost after iteration 16000: 0.489283\n",
      "Cost after iteration 17000: 0.401840\n",
      "Cost after iteration 18000: 0.339931\n",
      "Cost after iteration 19000: 0.289097\n",
      "Cost after iteration 20000: 0.243822\n",
      "Cost after iteration 21000: 0.203796\n",
      "Cost after iteration 22000: 0.171250\n",
      "Cost after iteration 23000: 0.145861\n",
      "Cost after iteration 24000: 0.126011\n",
      "Cost after iteration 25000: 0.109966\n",
      "Cost after iteration 26000: 0.096728\n",
      "Cost after iteration 27000: 0.085565\n",
      "Cost after iteration 28000: 0.075986\n",
      "Cost after iteration 29000: 0.067715\n",
      "Cost after iteration 30000: 0.060625\n",
      "Cost after iteration 31000: 0.054387\n",
      "Cost after iteration 32000: 0.048925\n",
      "Cost after iteration 33000: 0.044133\n",
      "Cost after iteration 34000: 0.039980\n",
      "Cost after iteration 35000: 0.036370\n",
      "Cost after iteration 36000: 0.033191\n",
      "Cost after iteration 37000: 0.030399\n",
      "Cost after iteration 38000: 0.027936\n",
      "Cost after iteration 39000: 0.025773\n",
      "Cost after iteration 40000: 0.023862\n",
      "Cost after iteration 41000: 0.022168\n",
      "Cost after iteration 42000: 0.020654\n",
      "Cost after iteration 43000: 0.019300\n",
      "Cost after iteration 44000: 0.018082\n",
      "Cost after iteration 45000: 0.016986\n",
      "Cost after iteration 46000: 0.015993\n",
      "Cost after iteration 47000: 0.015091\n",
      "Cost after iteration 48000: 0.014269\n",
      "Cost after iteration 49000: 0.013519\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "parameters = L_layer_model(X_train, Y_train_, layers_dims, num_iterations = 50000, print_cost = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "def predict_L_layer(X,parameters):\n",
    "    AL,caches=L_model_forward(X,parameters)\n",
    "    prediction=np.argmax(AL,axis=0)\n",
    "    return prediction.reshape(1,prediction.shape[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "predictions_train_L = predict_L_layer(X_train, parameters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training Accuracy : 100.0 %\n"
     ]
    }
   ],
   "source": [
    "print(\"Training Accuracy : \"+ str(np.sum(predictions_train_L==y_train)/y_train.shape[1] * 100)+\" %\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "predictions_test_L=predict_L_layer(X_test,parameters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Testing Accuracy : 97.22222222222221 %\n"
     ]
    }
   ],
   "source": [
    "print(\"Testing Accuracy : \"+ str(np.sum(predictions_test_L==y_test)/y_test.shape[1] * 100)+\" %\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[1]]\n",
      "True digit is: 1\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[9]]\n",
      "True digit is: 9\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[4]]\n",
      "True digit is: 4\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[6]]\n",
      "True digit is: 6\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[3]]\n",
      "True digit is: 3\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAECCAYAAADesWqHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAC9RJREFUeJzt3d+LXPUdxvHn6Sbij0RWqhUxIVuhBERwEyRUApImKrFK6kUvElCItKQXrRgaEO1N9R+Q9KIIIWoEY0SjWYq01oAuIrTaJK41mlg0WXEbdRWNMVYaop9ezEmJIe2eXfb73Zn9vF8wZDY7O89ns3nmnJk9c76OCAHI5TszPQCA+ig+kBDFBxKi+EBCFB9IiOIDCXVF8W2vtv227Xds31M462Hb47b3l8w5LW+h7RdtH7D9pu27Cueda/tV2683efeXzGsy+2y/ZvvZ0llN3qjtN2yP2N5TOKvf9k7bB5uf4bUFsxY339OpyzHbG4uERcSMXiT1SXpX0hWSzpH0uqQrC+ZdJ2mppP2Vvr/LJC1trs+X9I/C358lzWuuz5X0iqQfFv4efy3pcUnPVvo3HZV0caWsRyX9vLl+jqT+Srl9kj6UtKjE/XfDFn+ZpHci4lBEnJD0hKSflAqLiJckfVrq/s+S90FE7GuufyHpgKTLC+ZFRBxvPpzbXIodpWV7gaSbJW0tlTFTbF+ozobiIUmKiBMRcbRS/CpJ70bEeyXuvBuKf7mk90/7eEwFizGTbA9IWqLOVrhkTp/tEUnjknZHRMm8zZLulvRNwYwzhaTnbe+1vaFgzhWSPpb0SPNUZqvtCwrmnW6tpB2l7rwbiu+z/N2sO47Y9jxJT0vaGBHHSmZFxNcRMShpgaRltq8qkWP7FknjEbG3xP3/H8sjYqmkmyT90vZ1hXLmqPO08MGIWCLpS0lFX4OSJNvnSFoj6alSGd1Q/DFJC0/7eIGkIzM0SxG256pT+u0R8Uyt3Ga3dFjS6kIRyyWtsT2qzlO0lbYfK5T1XxFxpPlzXNIudZ4uljAmaey0Paad6jwQlHaTpH0R8VGpgG4o/t8k/cD295tHurWS/jDDM00b21bnOeKBiHigQt4ltvub6+dJul7SwRJZEXFvRCyIiAF1fm4vRMRtJbJOsX2B7fmnrku6UVKR39BExIeS3re9uPmrVZLeKpF1hnUquJsvdXZlZlREnLT9K0l/VueVzIcj4s1SebZ3SFoh6WLbY5J+GxEPlcpTZ6t4u6Q3mufdkvSbiPhjobzLJD1qu0+dB/YnI6LKr9kquVTSrs7jqeZIejwiniuYd6ek7c1G6ZCkOwpmyfb5km6Q9IuiOc2vDgAk0g27+gAqo/hAQhQfSIjiAwlRfCChrip+4cMvZyyLPPK6La+rii+p5j9u1R8keeR1U163FR9ABUUO4LHNUUHTaOHChRPf6AzHjx/XvHnzppQ3f/78SX/NZ599posuumhKeYcPH57015w8eVJz5kztwNOvvvpqSl/XKyLibG98+5YZP2QXE9u0aVPVvBUrVlTNW79+fdW8kZGRiW80y7GrDyRE8YGEKD6QEMUHEqL4QEIUH0iI4gMJUXwgoVbFr7nEFYDyJix+c9LG36tzyt8rJa2zfWXpwQCU02aLX3WJKwDltSl+miWugCzavEmn1RJXzYkDar9nGcAUtCl+qyWuImKLpC0Sb8sFul2bXf1ZvcQVkNGEW/zaS1wBKK/ViTiadd5KrfUGoDKO3AMSovhAQhQfSIjiAwlRfCAhig8kRPGBhCg+kBAr6UzBfffdVzVvtq80Mzw8XDVvcHCwat7o6GjVvDbY4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQhQfSIjiAwlRfCChNktoPWx73Pb+GgMBKK/NFn+bpNWF5wBQ0YTFj4iXJH1aYRYAlfAcH0ho2t6Wy9p5QO+YtuKzdh7QO9jVBxJq8+u8HZL+Immx7THbPys/FoCS2iyaua7GIADqYVcfSIjiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCrJ03BStWrKiat3nz5qp5tdcGPHr0aNW8gYGBqnmsnQegK1B8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0iI4gMJUXwgoTYn21xo+0XbB2y/afuuGoMBKKfNsfonJW2KiH2250vaa3t3RLxVeDYAhbRZO++DiNjXXP9C0gFJl5ceDEA5k3qOb3tA0hJJr5QYBkAdrd+Wa3uepKclbYyIY2f5PGvnAT2iVfFtz1Wn9Nsj4pmz3Ya184De0eZVfUt6SNKBiHig/EgASmvzHH+5pNslrbQ90lx+XHguAAW1WTvvZUmuMAuASjhyD0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQrNi7bzBwcGqef39/VXzaq9lV9vQ0FDVvNr/X4aHh6vmtcEWH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQhQfSIjiAwm1OcvuubZftf16s3be/TUGA1BOm2P1/y1pZUQcb86v/7LtP0XEXwvPBqCQNmfZDUnHmw/nNhcWzAB6WKvn+Lb7bI9IGpe0OyJYOw/oYa2KHxFfR8SgpAWSltm+6szb2N5ge4/tPdM9JIDpNalX9SPiqKRhSavP8rktEXFNRFwzTbMBKKTNq/qX2O5vrp8n6XpJB0sPBqCcNq/qXybpUdt96jxQPBkRz5YdC0BJbV7V/7ukJRVmAVAJR+4BCVF8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0hoVqydd+utt1bN68a10HpZ7bXsRkZGquZ1I7b4QEIUH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQhQfSKh18ZtFNV6zzYk2gR43mS3+XZIOlBoEQD1tl9BaIOlmSVvLjgOghrZb/M2S7pb0TcFZAFTSZiWdWySNR8TeCW7H2nlAj2izxV8uaY3tUUlPSFpp+7Ezb8TaeUDvmLD4EXFvRCyIiAFJayW9EBG3FZ8MQDH8Hh9IaFKn3oqIYXWWyQbQw9jiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IaFasnbdt27aqeYcPH66aNzQ0VDWv9lp2V199ddW82j+/bsQWH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQhQfSIjiAwm1OmS3ObX2F5K+lnSSU2gDvW0yx+r/KCI+KTYJgGrY1QcSalv8kPS87b22N5QcCEB5bXf1l0fEEdvfk7Tb9sGIeOn0GzQPCDwoAD2g1RY/Io40f45L2iVp2Vluw9p5QI9os1ruBbbnn7ou6UZJ+0sPBqCcNrv6l0raZfvU7R+PiOeKTgWgqAmLHxGHJNU9NxKAovh1HpAQxQcSovhAQhQfSIjiAwlRfCAhig8kRPGBhBwR03+n9vTfaRcZHR2d6RGKWrRoUdW8zz//vGrewMBA1byjR49WzYsIT3QbtvhAQhQfSIjiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IqFXxbffb3mn7oO0Dtq8tPRiActouqPE7Sc9FxE9tnyPp/IIzAShswuLbvlDSdZLWS1JEnJB0ouxYAEpqs6t/haSPJT1i+zXbW5uFNb7F9gbbe2zvmfYpAUyrNsWfI2mppAcjYomkLyXdc+aNWEIL6B1tij8maSwiXmk+3qnOAwGAHjVh8SPiQ0nv217c/NUqSW8VnQpAUW1f1b9T0vbmFf1Dku4oNxKA0loVPyJGJPHcHZglOHIPSIjiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCbY/cw2kGBwer5g0NDVXNq239+vVV82qvZdeN2OIDCVF8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0iI4gMJTVh824ttj5x2OWZ7Y43hAJQx4SG7EfG2pEFJst0n6Z+SdhWeC0BBk93VXyXp3Yh4r8QwAOqYbPHXStpRYhAA9bQufnNO/TWSnvofn2ftPKBHTOZtuTdJ2hcRH53tkxGxRdIWSbId0zAbgEIms6u/TuzmA7NCq+LbPl/SDZKeKTsOgBraLqH1L0nfLTwLgEo4cg9IiOIDCVF8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0jIEdP/fhrbH0uaynv2L5b0yTSP0w1Z5JFXK29RRFwy0Y2KFH+qbO+JiGtmWxZ55HVbHrv6QEIUH0io24q/ZZZmkUdeV+V11XN8AHV02xYfQAUUH0iI4gMJUXwgIYoPJPQfm3WWLPx2+QoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[0]]\n",
      "True digit is: 0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[2]]\n",
      "True digit is: 2\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAECCAYAAADesWqHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAC9RJREFUeJzt3dGLXPUZxvHn6ZpgopHVxEow4lYoARG6CRIqAUkTlVgl9aIXCVSItMSLVgwtiPam+g9IelGEELWCMaLRrEVaa8BNRGi1SVxrNLFoiJhGXTWEqJEG9e3FnJSYbrtnl/39dmbf7weGzO7OzvNulmfOmdkz5+eIEIBcvjXdAwCoj+IDCVF8ICGKDyRE8YGEKD6QUFcU3/Zq22/Zftv23YWzHrI9ant/yZwz8i6zPWz7gO03bN9ZOO9c26/Yfq3Ju69kXpPZZ/tV28+WzmryDtt+3faI7T2Fs/ptb7d9sPkdXlMwa3HzM52+nLC9sUhYREzrRVKfpHckXSFptqTXJF1ZMO9aSUsl7a/08y2UtLS5Pk/SPwr/fJZ0fnN9lqSXJX2/8M/4S0mPSXq20v/pYUkLKmU9IulnzfXZkvor5fZJ+kDS5SXuvxu2+MskvR0RhyLilKTHJf2oVFhEvCjpWKn7HyPv/YjY11z/VNIBSZcWzIuI+Kz5cFZzKXaUlu1Fkm6StKVUxnSxfYE6G4oHJSkiTkXE8UrxqyS9ExHvlrjzbij+pZLeO+PjIypYjOlke0DSEnW2wiVz+myPSBqVtDMiSuZtknSXpK8LZpwtJD1ve6/tDQVzrpD0kaSHm6cyW2yfVzDvTGslbSt1591QfI/xuRl3HLHt8yU9JWljRJwomRURX0XEoKRFkpbZvqpEju2bJY1GxN4S9/9/LI+IpZJulPRz29cWyjlHnaeFD0TEEkmfSyr6GpQk2Z4taY2kJ0tldEPxj0i67IyPF0k6Ok2zFGF7ljql3xoRT9fKbXZLd0laXShiuaQ1tg+r8xRtpe1HC2X9R0Qcbf4dlbRDnaeLJRyRdOSMPabt6jwQlHajpH0R8WGpgG4o/t8kfdf2d5pHurWS/jDNM00Z21bnOeKBiLi/Qt7Ftvub63MkXSfpYImsiLgnIhZFxIA6v7cXIuInJbJOs32e7Xmnr0u6QVKRv9BExAeS3rO9uPnUKklvlsg6yzoV3M2XOrsy0yoivrT9C0l/VueVzIci4o1Seba3SVohaYHtI5J+ExEPlspTZ6t4q6TXm+fdkvTriPhjobyFkh6x3afOA/sTEVHlz2yVXCJpR+fxVOdIeiwiniuYd4ekrc1G6ZCk2wpmyfZcSddLur1oTvOnAwCJdMOuPoDKKD6QEMUHEqL4QEIUH0ioq4pf+PDLacsij7xuy+uq4kuq+Z9b9RdJHnndlNdtxQdQQZEDeGxzVNAUWrhw4YS/5+TJk5o7d+6k8hYsWDDh7zl27JguuuiiSeX19fVN+Hs++eQTzZ8/f1J5R49O/K0gX3zxhebMmTOpvNHR0Ul932RFxFhvfPuGaT9kF+O7/faiR2/+l/Xr11fN6+/vr5p37733Vs3btGlT1bw22NUHEqL4QEIUH0iI4gMJUXwgIYoPJETxgYQoPpBQq+LXXOIKQHnjFr85aePv1Dnl75WS1tm+svRgAMpps8WvusQVgPLaFD/NEldAFm3epNNqiavmxAG137MMYBLaFL/VElcRsVnSZom35QLdrs2u/oxe4grIaNwtfu0lrgCU1+pEHM06b6XWegNQGUfuAQlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IiCW0JmHFihVV84aHh6vm7d69u2re4OBg1bzjx49XzRsYGKia12YJLbb4QEIUH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQhQfSKjNEloP2R61vb/GQADKa7PF/72k1YXnAFDRuMWPiBclHaswC4BKeI4PJNTqvPptsHYe0DumrPisnQf0Dnb1gYTa/Dlvm6S/SFps+4jtn5YfC0BJbRbNXFdjEAD1sKsPJETxgYQoPpAQxQcSovhAQhQfSIjiAwlRfCChKTtWP5ORkZGqeRdeeGHVvNpryw0NDVXN6+/vr5rXjdjiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8IKE2J9u8zPaw7QO237B9Z43BAJTT5lj9LyX9KiL22Z4naa/tnRHxZuHZABTSZu289yNiX3P9U0kHJF1aejAA5UzoOb7tAUlLJL1cYhgAdbR+W67t8yU9JWljRJwY4+usnQf0iFbFtz1LndJvjYinx7oNa+cBvaPNq/qW9KCkAxFxf/mRAJTW5jn+ckm3Slppe6S5/LDwXAAKarN23kuSXGEWAJVw5B6QEMUHEqL4QEIUH0iI4gMJUXwgIYoPJETxgYRYO28Saq+9NjAwMKPzBgcHq+axdh5bfCAlig8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyTU5iy759p+xfZrzdp599UYDEA5bY7V/5eklRHxWXN+/Zds/yki/lp4NgCFtDnLbkj6rPlwVnNhwQygh7V6jm+7z/aIpFFJOyOCtfOAHtaq+BHxVUQMSlokaZntq86+je0NtvfY3jPVQwKYWhN6VT8ijkvaJWn1GF/bHBFXR8TVUzQbgELavKp/se3+5vocSddJOlh6MADltHlVf6GkR2z3qfNA8UREPFt2LAAltXlV/++SllSYBUAlHLkHJETxgYQoPpAQxQcSovhAQhQfSIjiAwlRfCChGbF23ooVK6rmDQ8PV83D1Lrlllume4RpxxYfSIjiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCbUufrOoxqu2OdEm0OMmssW/U9KBUoMAqKftElqLJN0kaUvZcQDU0HaLv0nSXZK+LjgLgErarKRzs6TRiNg7zu1YOw/oEW22+MslrbF9WNLjklbafvTsG7F2HtA7xi1+RNwTEYsiYkDSWkkvRMRPik8GoBj+jg8kNKFTb0XELnWWyQbQw9jiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IiLXzJmH37t1V84aGhqrmbdy4sWre4cOHq+Y988wzVfO6EVt8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0iI4gMJUXwgIYoPJNTqkN3m1NqfSvpK0pecQhvobRM5Vv8HEfFxsUkAVMOuPpBQ2+KHpOdt77W9oeRAAMpru6u/PCKO2v62pJ22D0bEi2feoHlA4EEB6AGttvgRcbT5d1TSDknLxrgNa+cBPaLNarnn2Z53+rqkGyTtLz0YgHLa7OpfImmH7dO3fywinis6FYCixi1+RByS9L0KswCohD/nAQlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IyBEx9XdqT/2dJlZ7bcDh4eGqeUuWLKmaNzIyUjWvtojweLdhiw8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyRE8YGEWhXfdr/t7bYP2j5g+5rSgwEop+2CGr+V9FxE/Nj2bElzC84EoLBxi2/7AknXSlovSRFxStKpsmMBKKnNrv4Vkj6S9LDtV21vaRbW+AbbG2zvsb1nyqcEMKXaFP8cSUslPRARSyR9Lunus2/EElpA72hT/COSjkTEy83H29V5IADQo8YtfkR8IOk924ubT62S9GbRqQAU1fZV/TskbW1e0T8k6bZyIwEorVXxI2JEEs/dgRmCI/eAhCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyTE2nk9YGhoqGrerl27quZt2rSpat5Mx9p5AMZE8YGEKD6QEMUHEqL4QEIUH0iI4gMJUXwgIYoPJDRu8W0vtj1yxuWE7Y01hgNQxrjn3IuItyQNSpLtPkn/lLSj8FwACprorv4qSe9ExLslhgFQx0SLv1bSthKDAKindfGbc+qvkfTk//g6a+cBPaLtghqSdKOkfRHx4VhfjIjNkjZLvC0X6HYT2dVfJ3bzgRmhVfFtz5V0vaSny44DoIa2S2idlDS/8CwAKuHIPSAhig8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8IKFSa+d9JGky79lfIOnjKR6nG7LII69W3uURcfF4NypS/MmyvScirp5pWeSR12157OoDCVF8IKFuK/7mGZpFHnldlddVz/EB1NFtW3wAFVB8ICGKDyRE8YGEKD6Q0L8BSEWZK15afAQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[7]]\n",
      "True digit is: 7\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[3]]\n",
      "True digit is: 3\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[6]]\n",
      "True digit is: 6\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[2]]\n",
      "True digit is: 2\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAECCAYAAADesWqHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAC8tJREFUeJzt3V+IXPUZxvHn6RqJfyKRJhUxkjRSAiLUZEOoBKRNXIlVUpBGElCotKwXrRhakNib4p3eiL0okiVqBWNkNxoo0lojKlJotUmMNbqxaEgwjboJKlGLDerbizkpMV26Z9P9/XZm3+8HhsxuZuf57S7PnDOzZ87riBCAXL423QsAUB/FBxKi+EBCFB9IiOIDCVF8IKGuKL7tNbbftP2W7U2Fsx6yPWZ7X8mcU/Iutf287VHbr9u+o3DebNsv2361ybu7ZF6T2Wf7FdtPlc5q8g7afs32Xtu7CmfNtb3d9v7md3hVwawlzfd08nLc9sYiYRExrRdJfZLelrRY0tmSXpV0ecG8qyUtk7Sv0vd3saRlzfU5kv5e+PuzpPOb67MkvSTpO4W/x59LekzSU5V+pgclzauU9YiknzTXz5Y0t1Jun6T3JC0scf/dsMVfIemtiDgQESckPS7pB6XCIuJFSR+Uuv9x8t6NiD3N9Y8ljUq6pGBeRMQnzYezmkuxo7RsL5B0vaQtpTKmi+0L1NlQPChJEXEiIj6qFL9a0tsRcajEnXdD8S+R9M4pHx9WwWJMJ9uLJC1VZytcMqfP9l5JY5J2RkTJvPsl3Snpy4IZpwtJz9jebXuwYM5iSUclPdw8ldli+7yCeadaL2lbqTvvhuJ7nM/NuOOIbZ8v6QlJGyPieMmsiPgiIq6UtEDSCttXlMixfYOksYjYXeL+/4eVEbFM0nWSfmr76kI5Z6nztPCBiFgq6VNJRV+DkiTbZ0taK2mkVEY3FP+wpEtP+XiBpCPTtJYibM9Sp/RbI+LJWrnNbukLktYUilgpaa3tg+o8RVtl+9FCWf8REUeaf8ck7VDn6WIJhyUdPmWPabs6DwSlXSdpT0S8XyqgG4r/V0nfsv3N5pFuvaTfTfOapoxtq/MccTQi7quQN9/23Ob6OZKukbS/RFZE3BURCyJikTq/t+ci4uYSWSfZPs/2nJPXJV0rqchfaCLiPUnv2F7SfGq1pDdKZJ1mgwru5kudXZlpFRGf2/6ZpD+q80rmQxHxeqk829skfVfSPNuHJf0qIh4slafOVvEWSa81z7sl6ZcR8ftCeRdLesR2nzoP7MMRUeXPbJVcJGlH5/FUZ0l6LCKeLph3u6StzUbpgKRbC2bJ9rmSBiTdVjSn+dMBgES6YVcfQGUUH0iI4gMJUXwgIYoPJNRVxS98+OW0ZZFHXrfldVXxJdX84Vb9RZJHXjfldVvxAVRQ5AAe2xwVNIXmzZs36a/57LPPNHv27DPKW7hw4aS/5ujRo5o/f/4Z5R06NPl3nv4/39+xY8fO6Ot6RUSM98a3r5j2Q3YxsRtvvLFq3ubNm6vm3XZb0aNT/8vQ0FDVvG7Erj6QEMUHEqL4QEIUH0iI4gMJUXwgIYoPJETxgYRaFb/miCsA5U1Y/Oakjb9R55S/l0vaYPvy0gsDUE6bLX7VEVcAymtT/DQjroAs2rxJp9WIq+bEAbXfswzgDLQpfqsRVxExJGlI4m25QLdrs6s/o0dcARlNuMWvPeIKQHmtTsTRzHkrNesNQGUcuQckRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8IKEZMULrwgsvrBmn4eHhqnmLFy+umjcyMlI1r7+/v2rewMBA1bza2ozQYosPJETxgYQoPpAQxQcSovhAQhQfSIjiAwlRfCAhig8kRPGBhNqM0HrI9pjtfTUWBKC8Nlv830paU3gdACqasPgR8aKkDyqsBUAlPMcHEmp1Xv02mJ0H9I4pKz6z84Dewa4+kFCbP+dtk/RnSUtsH7b94/LLAlBSm6GZG2osBEA97OoDCVF8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0hoyo7Vn0733HNP1bzas+wuu+yyqnmbN2+umvfhhx9WzQNbfCAlig8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyTU5mSbl9p+3vao7ddt31FjYQDKaXOs/ueSfhERe2zPkbTb9s6IeKPw2gAU0mZ23rsRsae5/rGkUUmXlF4YgHIm9Rzf9iJJSyW9VGIxAOpo/bZc2+dLekLSxog4Ps7/MzsP6BGtim97ljql3xoRT453G2bnAb2jzav6lvSgpNGIuK/8kgCU1uY5/kpJt0haZXtvc/l+4XUBKKjN7Lw/SXKFtQCohCP3gIQoPpAQxQcSovhAQhQfSIjiAwlRfCAhig8kNCNm59Wevfbss89Wzevv76+aNzhY971Wy5cvr5oHtvhAShQfSIjiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IqM1Zdmfbftn2q83svLtrLAxAOW2O1f+XpFUR8Ulzfv0/2f5DRPyl8NoAFNLmLLsh6ZPmw1nNhYEZQA9r9Rzfdp/tvZLGJO2MCGbnAT2sVfEj4ouIuFLSAkkrbF9x+m1sD9reZXvXVC8SwNSa1Kv6EfGRpBckrRnn/4YiYnlE8OZqoMu1eVV/vu25zfVzJF0jaX/phQEop82r+hdLesR2nzoPFMMR8VTZZQEoqc2r+n+TtLTCWgBUwpF7QEIUH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSmhGz8zZt2jTdSyhq3bp1VfNqzyJEfWzxgYQoPpAQxQcSovhAQhQfSIjiAwlRfCAhig8kRPGBhCg+kFDr4jdDNV6xzYk2gR43mS3+HZJGSy0EQD1tR2gtkHS9pC1llwOghrZb/Psl3Snpy4JrAVBJm0k6N0gai4jdE9yO2XlAj2izxV8paa3tg5Iel7TK9qOn34jZeUDvmLD4EXFXRCyIiEWS1kt6LiJuLr4yAMXwd3wgoUmdeisiXlBnTDaAHsYWH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQjNidl5t/f39VfNGRkaq5tU2PDxcNW9gYKBq3oEDB6rmtcEWH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQhQfSIjiAwm1OmS3ObX2x5K+kPQ5p9AGettkjtX/XkQcK7YSANWwqw8k1Lb4IekZ27ttD5ZcEIDy2u7qr4yII7a/IWmn7f0R8eKpN2geEHhQAHpAqy1+RBxp/h2TtEPSinFuw+w8oEe0mZZ7nu05J69LulbSvtILA1BOm139iyTtsH3y9o9FxNNFVwWgqAmLHxEHJH27wloAVMKf84CEKD6QEMUHEqL4QEIUH0iI4gMJUXwgIYoPJMTsvDMwOFj3vUi1Z/Xde++9VfN2795dNW/dunVV82r/PNtgiw8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyRE8YGEWhXf9lzb223vtz1q+6rSCwNQTttj9X8t6emI+KHtsyWdW3BNAAqbsPi2L5B0taQfSVJEnJB0ouyyAJTUZld/saSjkh62/YrtLc1gja+wPWh7l+1dU75KAFOqTfHPkrRM0gMRsVTSp5I2nX4jRmgBvaNN8Q9LOhwRLzUfb1fngQBAj5qw+BHxnqR3bC9pPrVa0htFVwWgqLav6t8uaWvziv4BSbeWWxKA0loVPyL2SuK5OzBDcOQekBDFBxKi+EBCFB9IiOIDCVF8ICGKDyRE8YGEHBFTf6f21N9pYrVn9c302YA33XRT1byRkZGqeRHhiW7DFh9IiOIDCVF8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0howuLbXmJ77ymX47Y31lgcgDImPOdeRLwp6UpJst0n6R+SdhReF4CCJrurv1rS2xFxqMRiANQx2eKvl7StxEIA1NO6+M059ddKGvetRszOA3pH24EaknSdpD0R8f54/xkRQ5KGJN6WC3S7yezqbxC7+cCM0Kr4ts+VNCDpybLLAVBD2xFa/5T09cJrAVAJR+4BCVF8ICGKDyRE8YGEKD6QEMUHEqL4QEIUH0iI4gMJlZqdd1TSmbxnf56kY1O8nG7IIo+8WnkLI2L+RDcqUvwzZXtXRCyfaVnkkddteezqAwlRfCChbiv+0AzNIo+8rsrrquf4AOroti0+gAooPpAQxQcSovhAQhQfSOjfltCR3cg+3QgAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[3]]\n",
      "True digit is: 3\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[7]]\n",
      "True digit is: 7\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAECCAYAAADesWqHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAC9xJREFUeJzt3f+LVXUex/HXKzXKsia2NiKj2WARJPALIRtC+KXCtrB+2B8Uioxd3B92o2EXovaXtX8g9IclECuFzChLWWK3TSiJYLdWbdqssaXEaFbLIsVKWKne+8M9hrlTc0bu5zP3+n4+YPCOc+e+3uP4mnPOnXPPxxEhALmcM9kDAKiP4gMJUXwgIYoPJETxgYQoPpBQTxTf9jLb79p+z/YDhbMes33Y9t6SOafkXWX7Zdsjtt+2fV/hvPNsv277zSbvoZJ5TeYU22/Yfr50VpN3wPZbtodt7yqcNWB7q+19zffw+oJZs5qv6eTbMdtDRcIiYlLfJE2R9L6kaySdK+lNSbML5t0gab6kvZW+viskzW9uz5D078JfnyVd2NyeJuk1ST8r/DX+TtKTkp6v9G96QNKllbI2SfpVc/tcSQOVcqdI+kjS1SUevxe2+AskvRcR+yPihKSnJN1eKiwiXpH0WanHHyPvUETsaW5/LmlE0pUF8yIivmjenda8FTtLy/ZMSbdK2lAqY7LYvkidDcWjkhQRJyLiaKX4pZLej4gPSjx4LxT/SkkfnvL+qAoWYzLZHpQ0T52tcMmcKbaHJR2WtCMiSuatlXS/pG8KZpwuJL1oe7ft1QVzrpH0iaTHm0OZDbYvKJh3qhWStpR68F4ovsf4u7PuPGLbF0p6VtJQRBwrmRURX0fEXEkzJS2wfW2JHNu3STocEbtLPP4PWBgR8yXdIuk3tm8olDNVncPCRyJinqQvJRV9DkqSbJ8rabmkZ0pl9ELxRyVddcr7MyUdnKRZirA9TZ3Sb46I52rlNrulOyUtKxSxUNJy2wfUOURbYvuJQlnfioiDzZ+HJW1T53CxhFFJo6fsMW1V5wdBabdI2hMRH5cK6IXi/1PST23/pPlJt0LSnyd5pq6xbXWOEUci4uEKeZfZHmhuny/pRkn7SmRFxIMRMTMiBtX5vr0UEXeWyDrJ9gW2Z5y8LelmSUV+QxMRH0n60Pas5q+WSnqnRNZpVqrgbr7U2ZWZVBHxle3fSvqbOs9kPhYRb5fKs71F0iJJl9oelfTHiHi0VJ46W8W7JL3VHHdL0h8i4i+F8q6QtMn2FHV+sD8dEVV+zVbJ5ZK2dX6eaqqkJyPihYJ590ra3GyU9ku6p2CWbE+XdJOkXxfNaX51ACCRXtjVB1AZxQcSovhAQhQfSIjiAwn1VPELn345aVnkkddreT1VfEk1/3GrfiPJI6+X8nqt+AAqKHICj23OCupjs2fPnvDnHDlyRJdccskZ5R05cmTCn3P8+HFNnz79jPIOHTp0Rp/XLyJirBe+fQfFx/8ZHh4e/05dtH379qp5a9asqZpXW5vis6sPJETxgYQoPpAQxQcSovhAQhQfSIjiAwlRfCChVsWvucQVgPLGLX5z0cY/qXPJ39mSVtqe+DmdAHpGmy1+1SWuAJTXpvhplrgCsmhzXf1WS1w1Fw6o/ZplAGegTfFbLXEVEeslrZd4dR7Q69rs6p/VS1wBGY27xa+9xBWA8lqtndes81ZqrTcAlXHmHpAQxQcSovhAQhQfSIjiAwlRfCAhig8kRPGBhFqdwIPJdfvtdV8FPWfOnKp5q1atqpoHtvhAShQfSIjiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IqM0SWo/ZPmx7b42BAJTXZou/UdKywnMAqGjc4kfEK5I+qzALgEo4xgcS6trLclk7D+gfXSs+a+cB/YNdfSChNr/O2yLp75Jm2R61/cvyYwEoqc2imStrDAKgHnb1gYQoPpAQxQcSovhAQhQfSIjiAwlRfCAhig8kxNp5fWDdunVV8zZt2lQ17+jRo1Xz1q5dWzVvaGioal4bbPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyRE8YGEKD6QUJuLbV5l+2XbI7bftn1fjcEAlNPmXP2vJP0+IvbYniFpt+0dEfFO4dkAFNJm7bxDEbGnuf25pBFJV5YeDEA5EzrGtz0oaZ6k10oMA6CO1i/LtX2hpGclDUXEsTE+ztp5QJ9oVXzb09Qp/eaIeG6s+7B2HtA/2jyrb0mPShqJiIfLjwSgtDbH+Asl3SVpie3h5u3nhecCUFCbtfNeleQKswCohDP3gIQoPpAQxQcSovhAQhQfSIjiAwlRfCAhig8k5Ijun1Zf+1z9gYGBmnHauHFj1bzBwcGqeXPnzq2aV/vf84477qiaV/v/Z0SMe8IdW3wgIYoPJETxgYQoPpAQxQcSovhAQhQfSIjiAwlRfCAhig8k1OYqu+fZft32m83aeQ/VGAxAOW2uq/9fSUsi4ovm+vqv2v5rRPyj8GwACmlzld2Q9EXz7rTmjQUzgD7W6hjf9hTbw5IOS9oREaydB/SxVsWPiK8jYq6kmZIW2L729PvYXm17l+1d3R4SQHdN6Fn9iDgqaaekZWN8bH1EXBcR13VpNgCFtHlW/zLbA83t8yXdKGlf6cEAlNPmWf0rJG2yPUWdHxRPR8TzZccCUFKbZ/X/JWlehVkAVMKZe0BCFB9IiOIDCVF8ICGKDyRE8YGEKD6QEMUHEmpz5l7P2759e9W82mvL3X333VXzhoaGquYtWrSoal7t/y+9iC0+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyRE8YGEKD6QEMUHEmpd/GZRjTdsc6FNoM9NZIt/n6SRUoMAqKftElozJd0qaUPZcQDU0HaLv1bS/ZK+KTgLgErarKRzm6TDEbF7nPuxdh7QJ9ps8RdKWm77gKSnJC2x/cTpd2LtPKB/jFv8iHgwImZGxKCkFZJeiog7i08GoBh+jw8kNKFLb0XETnWWyQbQx9jiAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IyBHR9QedOnVqzJgxo+uP+30OHDhQLUuSLr744qp56K7FixdXzdu5c2fVvIjwePdhiw8kRPGBhCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyRE8YGEWl1zr7m09ueSvpb0FZfQBvrbRC62uTgiPi02CYBq2NUHEmpb/JD0ou3dtleXHAhAeW139RdGxEHbP5a0w/a+iHjl1Ds0PxBWN7e7PCaAbmq1xY+Ig82fhyVtk7RgjPt8u3beOedwBAH0sjar5V5ge8bJ25JulrS39GAAymmzq3+5pG3N7vtUSU9GxAtFpwJQ1LjFj4j9kuZUmAVAJRyMAwlRfCAhig8kRPGBhCg+kBDFBxKi+EBCFB9IqMjaeba7/6A/YNGiRTXjqjt69GjVvKGhoap5tb9/g4ODVfNqY+08AGOi+EBCFB9IiOIDCVF8ICGKDyRE8YGEKD6QEMUHEqL4QEKtim97wPZW2/tsj9i+vvRgAMppu6DGOkkvRMQvbJ8raXrBmQAUNm7xbV8k6QZJqyQpIk5IOlF2LAAltdnVv0bSJ5Iet/2G7Q3NwhrfYXu17V22d3V9SgBd1ab4UyXNl/RIRMyT9KWkB06/06lLaHV5RgBd1qb4o5JGI+K15v2t6vwgANCnxi1+RHwk6UPbs5q/WirpnaJTASiq7bP690ra3Dyjv1/SPeVGAlBaq+JHxLAkjt2BswRn7gEJUXwgIYoPJETxgYQoPpAQxQcSovhAQhQfSOisWDsP3VV7rb41a9ZUzVu7dm3VvNpYOw/AmCg+kBDFBxKi+EBCFB9IiOIDCVF8ICGKDyRE8YGExi2+7Vm2h095O2Z7qMZwAMoY95p7EfGupLmSZHuKpP9I2lZ4LgAFTXRXf6mk9yPigxLDAKhjosVfIWlLiUEA1NO6+M019ZdLeuZ7Ps7aeUCfaLughiTdImlPRHw81gcjYr2k9RIvywV63UR29VeK3XzgrNCq+LanS7pJ0nNlxwFQQ9sltI5L+lHhWQBUwpl7QEIUH0iI4gMJUXwgIYoPJETxgYQoPpAQxQcSovhAQqXWzvtE0pm8Zv9SSZ92eZxeyCKPvFp5V0fEZePdqUjxz5TtXRFx3dmWRR55vZbHrj6QEMUHEuq14q8/S7PII6+n8nrqGB9AHb22xQdQAcUHEqL4QEIUH0iI4gMJ/Q/zSp/qUS7BtwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[4]]\n",
      "True digit is: 4\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicted digit is : [[0]]\n",
      "True digit is: 0\n"
     ]
    }
   ],
   "source": [
    "import random\n",
    "for j in range(15):\n",
    "    i=random.randint(0,n_samples)\n",
    "    pl.gray()\n",
    "    pl.matshow(digits.images[i])\n",
    "    pl.show()\n",
    "    img=digits.images[i].reshape((64,1)).T\n",
    "    img = sc.transform(img)\n",
    "    img=img.T\n",
    "    predicted_digit=predict_L_layer(img,parameters)\n",
    "    print('Predicted digit is : '+str(predicted_digit))\n",
    "    print('True digit is: '+ str(y[i]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
